package com.kh.samr.entity.expert;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.kh.samr.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.*;
import java.util.Date;

/**
 * 国内教育经历信息
 *
 * @author Harry
 * @date 2020/12/28
 */
@ApiModel(description = "国内教育经历信息")
@Table(name = "ep_domestic_education")
@EqualsAndHashCode(callSuper = true)
@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DomesticEducation extends BaseEntity {
	
	private static final long serialVersionUID = 4478091781169145191L;
	
	/**
	 * 国内毕业院校
	 */
	@ApiModelProperty(value = "国内毕业院校", readOnly = true)
	@Column(length = 100)
	private String graduatedFrom;
	
	/**
	 * 学校统一社会信用代码
	 */
	@ApiModelProperty(value = "学校统一社会信用代码", readOnly = true)
	@Column(length = 20)
	private String uniformSocialCreditCode;
	
	/**
	 * 学习起始时间
	 */
	@ApiModelProperty(value = "学习起始时间", readOnly = true, example = "yyyy-MM-dd")
	@Temporal(TemporalType.DATE)
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@Column()
	private Date startingDate;
	
	/**
	 * 学习完成时间
	 */
	@ApiModelProperty(value = "学习完成时间", readOnly = true, example = "yyyy-MM-dd")
	@Temporal(TemporalType.DATE)
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@Column()
	private Date finishDate;
	
	/**
	 * 学习形式
	 */
	@ApiModelProperty(value = "学习形式", readOnly = true)
	@Column(length = 100)
	private String studyMode;
	
	/**
	 * 学习阶段
	 */
	@ApiModelProperty(value = "学习阶段", readOnly = true)
	@Column(length = 100)
	private String studyStages;
	
	/**
	 * 专业一级
	 */
	@ApiModelProperty(value = "专业一级", readOnly = true)
	@Column(length = 100)
	private String professionFirst;
	
	/**
	 * 专业二级
	 */
	@ApiModelProperty(value = "专业二级", readOnly = true)
	@Column(length = 100)
	private String professionSecond;
	
	/**
	 * 学位论文唯一标识
	 */
	@ApiModelProperty(value = "学位论文唯一标识", readOnly = true)
	private String thesisId;
	
	/**
	 * 学位论文题目
	 */
	@ApiModelProperty(value = "学位论文题目", readOnly = true)
	private String thesisTitle;
	
	/**
	 * 学位论文摘要
	 */
	@ApiModelProperty(value = "学位论文摘要", readOnly = true)
	@Column(length = 8000)
	private String thesisSummary;
	
	/**
	 * 论文关键词
	 */
	@ApiModelProperty(value = "论文关键词", readOnly = true)
	private String thesisKeywords;
	
	/**
	 * 论文语种
	 */
	@ApiModelProperty(value = "论文语种", readOnly = true)
	@Column(length = 30)
	private String thesisLanguage;
	
	/**
	 * 指导教师
	 */
	@ApiModelProperty(value = "指导教师", readOnly = true)
	@Column(length = 100)
	private String instructor;
	
	/**
	 * 出版年
	 */
	@ApiModelProperty(value = "出版年", readOnly = true)
	@Column(length = 4)
	private String publicationYear;
}
